package org.chen.system.service;

import org.chen.common.email.dto.EmailConfigDTO;
import org.chen.common.export.dto.ExportConfigDTO;
import org.chen.common.flight.dto.FlightApiConfigDTO;
import org.chen.common.hotel.dto.HotelApiConfigDTO;
import org.chen.common.scene.dto.SceneApiConfigDTO;
import org.chen.common.system.dto.SystemStatusDTO;

public interface SystemConfigService {
    
    /**
     * 获取机票API配置
     */
    FlightApiConfigDTO getFlightApiConfig();
    
    /**
     * 保存机票API配置
     */
    void saveApiConfig(FlightApiConfigDTO apiConfig);

    /**
     * 获取酒店API配置
     */
    HotelApiConfigDTO getHotelApiConfig();

    /**
     * 保存酒店API配置
     */
    void saveHotelApiConfig(HotelApiConfigDTO apiConfig);

    /**
     * 保存景点API配置
     */
    void saveSceneApiConfig(SceneApiConfigDTO apiConfig);

    /**
     * 获取景点API配置
     */
    SceneApiConfigDTO getSceneApiConfig();
    
    /**
     * 获取导出配置
     */
    ExportConfigDTO getExportConfig();
    
    /**
     * 保存导出配置
     */
    void saveExportConfig(ExportConfigDTO exportConfig);
    
    /**
     * 获取邮件配置
     */
    EmailConfigDTO getEmailConfig();
    
    /**
     * 保存邮件配置
     */
    void saveEmailConfig(EmailConfigDTO emailConfig);
    
    /**
     * 获取系统状态
     */
    SystemStatusDTO getSystemStatus();

    Boolean testEmailSending(String testEmail);
    
    /**
     * 重置所有配置为默认值
     */
    void resetAllConfigs();
}